<template>
  <!-- 堆叠图 -->
  <div
    style="width: 1200px; height: 600px; margin: 100px auto"
    id="chart"
  ></div>
</template>

<script>
export default {
  data() {
    return {};
  },
  mounted() {
    this.chart();
  },
  methods: {
    // 条形统计图
    chart() {
      //初始化
      var myCharts = this.$echarts.init(document.getElementById("chart"));
      // 配置项
      var option = {
        animation: true, //动画效果，默认打开
        // animationDuration : 7000,//动画延时时间，
        animationDuration: function (arg) {
          //通过回调函数控制延时时间
          // 返回的是索引
          return 1000 * arg; //后面的数据加载越久
        },
        animationEasing: "bounceOut", //缓动动画效果：linear：匀速，bounceOut：回弹效果...
        // animationThreshold: 8, //动画阈值，单种元素的数量大于这个值，动画不显示
        grid: {
          //  top: "10%",
          right: "3%",
          left: "10%",
          bottom: "20%",
        },
        //标题配置
        title: {
          text: "内审问题发现趋势图", //标题，加‘\n’可换行
          textStyle: {
            //文本样式
            fontWeight: "800",
          },
          left: "center",
        },
        // 图例
        legend: {
          left: "center",
          top: "22",
        },
        // x轴
        xAxis: {
          type: "category", //类目轴
          data: [
            "21-Jan",
            "21-Feb",
            "21-Mar",
            "21-Apr",
            "21-May",
            "21-Jun",
            "21-Jul",
            "21-Aug",
            "21-Sep",
            "21-Oct",
            "21-Nov",
            "21-Dec",
          ],
        },
        // y轴
        yAxis: {
          type: "value", //数值轴，对应series中的data
          position: "left", //y轴位置，left (默认)或right
        },
        //数据筛选，需要配合series使用，data中的每一项对应name值
        series: [
          {
            name: "问题发现个数",
            type: "bar",
            stack: "客户投诉",
            data: [20, 25, 18, 22, 27, 16, 19, 22, 24, 23, 19, 18],
            color: "rgb(75,172,198)",
            //显示数值
            label: {
              show: true, //设置显示
              formatter: function (arg) {
                //通过回调函数动态显示文字内容,percent:所占百分比
                return arg.value;
              },
            },
            //柱状图样式配置
            itemStyle: {},
          },
          {
            name: "主要问题个数",
            type: "bar",
            stack: "客户投诉",
            data: [2, 3, 1, 2, 2, 1, 1, 2, 1, 2, 1, 1],

            color: "rgb(255,0,0)",
            label: {
              show: true, //设置显示
              formatter: function (arg) {
                //通过回调函数动态显示文字内容,percent:所占百分比
                return arg.value;
              },
            },
          },
        ],
        // 提示
        tooltip: {
          trigger: "item",
          showContent: true,
          //   trigger: "item", //触发类型：放在图上
          //   trigger: "axis", //触发类型：放在坐标轴上
          //   triggerOn: "mouseover", //触发方式：click：点击，mouseover：鼠标移入(默认)
          formatter: function (arg) {
            //提示文字也可以是个回调函数
            // return arg[0].name + ":" + arg[0].data;
            return arg.seriesName + ":" + arg.name + ":" + arg.value;
          },
        },
      };
      myCharts.setOption(option);
    },
  },
};
</script>

<style>
</style>